With the evolution of the Internet and the ever-increasing bandwidth (channel capacity and data (information) transmission rates), the use of digital content as a means of gaining information by individuals has become very convenient and popular. For enterprise businesses, the use of digital content (hereinafter “content”) is critical to the success of the business.
Along with the increased usage and importance of content on the Web, the shear volume of content has increased dramatically in recent years. This makes it difficult to parse out the relevant information from the irrelevant information. Information overload is a common complaint and causes wasted time and loss of revenue.
In response to this problem, tools and schemes have been created to help alleviate this issue. These tools and schemes are designed to assist in sorting out the web information so that the user is able to receive the information relevant to the user. One important innovation is the web feed. A web feed is a data format used for serving users frequently updated content. Content distributors syndicate a web feed, thereby allowing users to subscribe to it. Making a collection of web feeds accessible in one spot is known as aggregation.
In the typical scenario of using web feeds, a content provider publishes a feed link on its site which end users can register with an aggregator program (also called a feed reader or a news reader) running on their own machines; doing this is usually as simple as dragging the link from the web browser to the aggregator. When instructed, the aggregator asks all the servers in its feed list if they have new content; if so, the aggregator either makes a note of the new content or downloads it. Aggregators can be scheduled to check for new content periodically.
The kinds of content delivered by a web feed are typically HTML (webpage content) or links to webpages and other kinds of digital media. Often when websites provide web feeds to notify users of content updates, they only include summaries in the web feed rather than the full content itself.
Another important innovation in content management is the aptly named “content management system”. A content management system is a computer software system for organizing and facilitating collaborative creation of documents and other content.
Enterprise companies are especially dependent upon content management systems. Typical applications are collaboration, document management, workflow, web content management (including web portals), and records management. Some examples of enterprise content management systems are IBM's Lotus® Domino® and DB2® Content Management systems, Microsoft's Sharepoint system, and Oracle's Content Management product. There are many others.
This can be seen as web feed system 500 in FIG. 5. System 500 has a content management system (CMS) 502 connected to user 504 via feed reader (aggregator or news reader) 506. CMS 502 is also connected to web sites 508A, B, C (content providers). User 504 requests subscriptions to the content on web sites 508A, B, C by sending subscription requests 514A, B, C to web sites 508A, B, C via feed reader 506 and CMS 502. Web sites 508A, B, C reply with OKs 516A, B, C followed by content 518A, B, C which is passed to feed reader 506 via CMS 506. Feed reader 506 summarizes the content and passes a content summary 520 of the content 518A, B, C to the user 504.
Content applications are becoming an important part of enterprise business. Blogs, wikis, web content management, and eForms are some examples of content applications. A defining characteristic of content applications is the ease with which content can be created and updated by the general public. Most content application content is open to the general public without the need to register to view or sometimes update (as in the case of wikis and eForms). Many edits in these content applications can be made in real-time, and appear almost instantaneously online. A blog (short for weblog) is a personal online journal that is frequently updated and intended for general public consumption. Blogs are defined by their format: a series of entries posted to a single page in reverse-chronological order. A wiki is a type of Web site that allows the visitors themselves to easily add, remove, and otherwise edit and change some available content, sometimes without the need for registration. This ease of interaction and operation makes a wiki an effective tool for collaborative authoring. An eForm (electronic form) is a computer program version of a paper form. Aside from eliminating the cost of printing, storing, and distributing pre-printed forms, and the wastage of obsolete forms, e-forms can be filled out faster because the programming associated with them can automatically format, calculate, look up, and validate information for the user.
These content applications are enabling employees to collaborate better and improve productivity as each allow for quick and easy conveyance of information to many people. (This is in contrast to email, text messaging, or instant messaging which are generally intended for one or a select, small group of people. Also, these “push” technologies require specific information about the intended recipients.)
The use of content applications generate loads of information, much of which is irrelevant or relevant to only some users. As such, it is important that the user has access to content services, such as searching, filtering, summarizing and sorting of the content generated by these content applications. These services assist the user to receive the information most relevant to him or her. However, presently, there is no simple and standard solution for providing content services to a user.
The content produced by these content applications may be saved in content management systems such as those discussed above. However, present content management systems (CMSs) have their own proprietary solution. This requires the developers and independent service vendors (ISVs) who wish to develop product to interface with all of the CMSs to learn the technology specific to each CMS. This is burdensome, time-consuming and wasteful. Today, there is no platform-independent public standard used by content management systems which represents how this content can be transmitted to a client and which represents how it's created, updated, or deleted from and by a client in a standard and simple fashion. For the purposes of this specification, “platform-specific” generally means specific to the content management system (CMS) while “platform-independent” generally means independent of the CMS accessing the feed readers.
In addition to the issues mentioned above, there is also a need to enable transformations on the content elements of the content being managed by a content management system. Content elements may comprise, inter alia, field limits, user IDs, etc. Many times, the content element of an eForm, for example, (or other piece of content) may have characteristics which are not of the desired form of the user. For example, the eForm might store an ID (such as the IBM WebSphere® Member manager ID (WMMID)) for a user of a portal which was selected using something equivalent to a people picker. (A “people picker” is a portion of an address book API which provides easy and quick access to the contents of a user's address book or other directory from any application. It offers a searchable, selectable list of people and groups that can be customized for an application.) However, it may be that the user wishes that the ID be resolved to an actual person's name. Another example is where there is a need to transform the content elements to meet the requirements of a particular display or device. For example, the user may want to truncate data to a certain limit per field because he/she is leveraging a feed reader on a handheld device, such as a PDA or PocketPC device, with limited system resources.
In view of the foregoing, a need exists to overcome these problems by providing a system and method for providing platform-independent content services to users for content from content applications leveraging Atom, XLink, XML Query (XQuery) Content Management Systems (CMSs).